/*
 * Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
 *
 * https://www.mall4j.com/
 *
 * 未经允许，不可做商业用途！
 *
 * 版权所有，侵权必究！
 */
package com.yami.shop.delivery.common.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yami.shop.bean.app.dto.MyOrderDto;
import com.yami.shop.bean.app.dto.OrderSelfStationDto;
import com.yami.shop.delivery.common.model.OrderSelfStation;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 自提订单信息表
 *
 * @author YXF
 * @date 2020-04-23 15:18:29
 */
public interface OrderSelfStationMapper extends BaseMapper<OrderSelfStation> {

    /**
     * 获取最新的提货码
     *
     * @param shopId 商家id
     * @return 提货码
     */
    String getNewInfo(@Param("shopId") Long shopId);

    /**
     * 根据提货码查询订单
     *
     * @param stationId 自提点id
     * @param shopId    商家id
     * @param code      提货码
     * @return 订单信息
     */
    MyOrderDto getOrderByStationCode(@Param("stationId") Long stationId, @Param("shopId") Long shopId, @Param("code") String code);

    /**
     * 根据用户id获取用户自提信息
     *
     * @param userId 用户id
     * @return 用户自提信息
     */
    List<OrderSelfStationDto> getUserStation(@Param("userId") String userId);

    /**
     * 根据用户id获取用户自提订单信息
     *
     * @param userId 用户id
     * @return 用户自提订单信息
     */
    List<OrderSelfStation> getStationUserInfo(@Param("userId") String userId);

    /**
     * 根据订单号获取用户自提订单信息
     *
     * @param orderNumber 订单号
     * @return 用户自提订单信息
     */
    OrderSelfStationDto getStationByOrderNumber(@Param("orderNumber") String orderNumber);
}
